import type { UploadResult } from '@/types/common'
import type { ConsultInfo } from '@/types/consult'
import { defineStore } from 'pinia'
import { ref } from 'vue'

const useConsultStore = defineStore(
  'consult',
  () => {
    // 缓存表单数据
    const illnessInfo = ref<ConsultInfo>({
      illnessDesc: '',
      illnessTime: 1,
      consultFlag: 0,
      pictures: [], // 要提交的图片列表
      patientId: '', // 加上患者id
    })

    // 患者病情初始数据 用来重置数据的 备胎
    const initalValue: ConsultInfo = {
      illnessDesc: '',
      illnessTime: 1,
      consultFlag: 0,
      pictures: [],
      patientId: '', // 加上患者id
    }
    // 极速问诊
    const type = ref('')
    // 问诊类型
    const illnessType = ref('')
    // 科室ID
    const id = ref('')
    // 清除所有数据
    const clear = () => {
      illnessInfo.value = { ...initalValue } // 重置表单数据
      type.value = ''
      illnessType.value = ''
      id.value = ''
    }
    return { illnessInfo, initalValue, type, illnessType, id, clear } // 这里必须return才能够缓存起来
  },
  {
    unistorage: true, // 开启pinia的持久化
  }
)

export { useConsultStore }
